//Product.h

#ifndef _PRODUCT_H_
#define _PRODUCT_H_

//Product class
//abstract base class
class Product
{
public:
	//pure virtual destructor
	//prevent instantiation of base class
	virtual ~Product() = 0;

protected:
	//constructor
	Product();

};

//ConcreteProduct class
//derived class of Product
class ConcreteProduct : public Product
{
public:
	//destructor
	~ConcreteProduct();
	ConcreteProduct();
};

#endif	//~_PRODUCT_H_

